hello can everyone hear me yes okay cool
right so welcome to this little mini
session in today's 20 minute session
we're going to be looking into the high
definition render pipeline and how it
will unlock games for you I'm incredibly
excited to be here actually I've done a
couple of talks before so this is gonna
be one of the smaller talks I've done um
but I hope everyone's having a good
unite or second and a bit day is that
yeah okay so I feel like I should give a
bit of an introduction to Who I am
personally so my name is Kieran and I'm
one of the art of Angelus for unity and
I've been working to see for a round
about a year so if you see any of the
evangelists roaming around please say hi
please talk to us we would love to chat
you about unity in all things technology
and it's our job as evangelists to
travel around go to conferences go to
events but I think most importantly to
interact with you guys you know the
amazing unity community as such but
today's agenda we're going to be looking
at what is a pipeline and what can be
found in the high definition render
pipeline the fundamentals of HDR P and
then we'll do a unity demo with an
introduction the basics of it and then
we'll create a refracting glass material
and which was a notoriously difficult a
few years ago to achieve but now can be
very easy with with the pipeline so when
I started unity I have to admit I didn't
really know what pipeline was I kind of
went in and we was spoken about
internally for a couple year for a
couple of months I remember asking
myself two definitive questions the
first one was what are they and what are
they actually do so how do they benefit
me as a developer so a render pipeline
in general terms is the number of
techniques used to get an object onto a
screen and it roughly encompasses
rendering or culling of rendering
objects and post-processing and of
course these can be kind of subdivided
subdivided into their own you know
unique categories and in twenty eighteen
point 1 we introduced a system called
the scriptable render pipeline better
known as SRP and with this critter will
render pipeline you're able to customize
what you require graphically of the
Unity engine so with SRP came to
ready-made pipelines the first one
originally called lightweight but now
is called the universal render pipeline
his performance focus and works on most
platforms whether you're developing from
mobile all the way up to high-end
devices and then we have the high
definition render pipeline which in 2019
point three is now officially out of
preview in this graphical focused and is
more suitable for platforms with more
which can handle more in you know
intense graphical processing so PC
stairwell consoles two high-end pcs
pretty much oh okay yes um I don't know
if you've any of you seen The Heretic
before hands up who has seen The Heretic
oh ok fear view so in earlier this year
in San Francisco we actually released
our first part of The Heretic
part one and that actually uses a whole
load of HD RP features that confer you
are free to use and most recently a
couple of days ago at our keynote here
in unit Copenhagen we released the
second heretic demo which demonstrated
the same fundamental principles the
image in the middle is actually the
London demo which I'm going to be
showing you today and this is a
visualization of our office demo and I
want to kind of show you how you can
kind of graphically you know make a
scene look great both for cinematics
such as The Heretic and also for games
as well and on the far right has anyone
seen this image before on the far right
okay one person yeah so this is Sherman
this was a short film that we released a
couple of months back which demonstrated
how short films can actually be animated
and made in unity again using the
pipeline so you can see three different
use cases with three different outputs
and yet using the same technology so I
wanted to bring up some points so these
are some things I think are interesting
from an artists perspective most
importantly is the shader library in my
opinion so we have subsurface scattering
and nisa tropic materials iridescent
transparency decals and layered lit or a
layered lits shader and and I'm gonna go
over a few of those today we have our
sky so these are the new things that are
in it so HDRI sky for any of you that
don't know what that is that is just a
cube map which is a collection of six
images that represent different
directions and world space and then of
course the procedural sky and then our
gradient sky lights and volumes so we
have physical light unit
now this is quite an interesting one I'm
not gonna go too much into it now but I
will in the demo because for any of you
that are wanting to achieve as realistic
visuals as possible this may be right up
your alley
and then our volume component which
controls everything to do with graphics
and shadows and all of that and then
finally in nineteen - we actually have
native post-processing so it's actually
part of the HT RP package now and can be
integrated using the same volume
component and then finally we have
rendering so of course the HDR P is a
hybrid of deferred and forward cluster
rendering and most importantly we have a
thing called HD render pipeline assets
and these are assets that allow you to
control what you require graphically of
our engine so I wanted to spend some
time to go over some of the default well
the default material inspector because I
think there's quite difference between
the left and the right so the left is HD
RP and the right is just to built it so
the difference being that we have a
section called surface shop surface
options at the top which is allowing to
determine the material surface whether
that's transparent or opaque and there
are different use cases for that of
course we have double sided and we also
have displacement mode and this is a I
like this one a lot I'm going to go into
the demo for this and but this allows
you to kind of deform the pixels
according to a particular texture a
particular height map and and that's
used for a carpet in the scene then we
have a mask map which is basically a
hybrid or a collection of textures all
brought into one so including metallic
and smoothness we have a coat mask and
then we finally have a detailed map now
for any of you that have used substance
painter or substance designer substance
painter now comes equipped with a preset
that allows you to export out textures
specifically for HD RP so if you're
interested in kind of generating these
maps you can just do that through the
export texture section and then with HDR
P we kind of advise that it's best for
you to start using it at the design tech
select stage so at the start of your
project and through unity hub but there
is nothing stopping you from actually
upgrading I thought yeah there's nothing
stopping you from upgrading the
project's mid-weight let's say your
prototype stage through your package
manager however this would require a
little bit of work so fair warning and
so we actually encourage you and advise
you if you want to start learning this
stuff to start from
scratch so let's actually check this out
so this it might be a familiar sight to
some of you in Minot but this is our
London demo and this was created by
company Karuna Ross I know near us we
contacted them out it was a
collaborative effort to make a scale
model of our London office demo of
course and we actually have two other
demos for this as well both in Tokyo and
in a career but because I'm pretty sure
I have a bit of a soft spot for the
London demo so I'm gonna show you this
one today so I can fully look around I
can fully navigate my scene and I can
have a little look around and walks
around and you can see it's quite a nice
looking scene already and I want to pick
it apart and show you what each element
is made of and why we've been able to
achieve this so the first thing let's
imagine that we've opened the project
and this is in built in Nantes GRP what
would be the steps to upgrade our
project well the first thing would be to
go to what's called our package manager
and to access packet my package manager
you go up to a window and package
manager and and in here you can see I've
already got the high-definition render
pipeline installed but you would just
simply install this and if it doesn't
show up on any unity versions lower than
20 19.2 you just want to go to advanced
and say show preview packages and what
that does is once we find it wherever it
is there we go it also includes both the
red a pipeline core shader graph and a
source of course post-processing so once
you've done that then you need to tell
unity okay what graphics do I want to
render what am I going to render and
what you know how am I going to
customize it and that's all done within
the HD render pipeline asset so the
asset can be created in a project folder
you can simply just right click go to
create rendering and then create
rendering high-definition render
pipeline asset but I've already created
one and then to assign it you want to go
to edit project settings graphics and
you can see that I've got an asset up
here and now by interacting with it we
go you can see that I have a load of
different parameters that can start to
customize what I'm requiring graphically
so this includes reflection so this
includes lighting rendering and all
sorts of things that I can kind of start
to pick
choose what I want now the beauty of
this being an asset is the fact that I
can swap this in and out which means
that I can have a certain asset that
caters for a certain device or certain
capabilities and then as I work my way
through different build I can then swap
them out to cater for lower graphics or
lower resolution and so it's very
flexible in that regard okay so once
we've done that let's now imagine I've
got an empty scene and I want to
integrate an asset or some kind of mesh
or some kind of package and natural
instincts for me at least is to go to
the asset store and when you go into the
asset store the most at the moment most
of our packages aren't really compatible
with HT RP other than the ones that are
being created for the pipeline so what's
going to happen is if I remove my chair
here once you import your package you're
gonna get something that looks a little
bit like this and this is basically
indicating to me that I have a broken
shader so the shader that the store is
using and as you can see on the far
right-hand side is actually using the
standard shader so this is the legacy
shader that can be found in the built in
pipeline so the way that we fix this of
course is to upgrade it and luckily
we're not going to make you go through
all of your assets and upgrade every
single shader so we actually implemented
a tool that will do it roughly for us
and we can access that by going to edit
a render pipeline upgrade project
materials to high-definition materials
now this isn't perfect it's not the
perfect solution but it does a very very
good job at sifting through our
materials and upgrading them the best it
can but of course it's always good to
kind of sift through the materials
anyway to see if there are any
reoccurring errors great so now I'm
gonna bring that one back okay
so once we've done that then we can
start to dive into the our materials and
start to edit our materials in whatever
way we choose so I'm gonna spend some
time working my way through the material
inspector just to show you what you can
do with it and why you would want to use
it so of course we have our surface
options we have our material type which
we've gone through before so standard
subsurface scattering has any what does
anyone know what subsurface scattering
is roughly oh can someone shout out at
me
sorry
so life professor through the exactly so
if any of you have shown a light like a
torch through your finger even though
the light tip is is white it appears red
and that's because the light is bouncing
around and that's what we're able to
actually achieve with this material type
so exactly what the gentleman said at
the back like like going through the ear
and these are tropic so think of like
jumbled up metal like aluminium or
aluminum if you're American
iridescent specular and then translucent
now my favorite parameter ever is
displacement mode because it absolutely
blows my mind how we're able to achieve
this so displacement mode as I mentioned
before deforms the pixels according to a
texture and a really good example of
this is our carpet so notice that our
carpet is like ever so slightly fuzzy
and that's because we're deforming the
pixels so if we were to interact with my
material we can see that we've set the
displacement mode to pixel we've gone
ahead and added an albedo texture map so
a basic texture map a mask map a normal
map and then we've also got an
additional parameter now called height
map and that has a parameter at the
bottom which is called amplitude and
amplitudes basically just how far am i
deforming these pixels so as I start to
warp it you'll notice it gets a little
more strange and a little more strange
and so be careful with this of course
we've set hours to cover something
minimal so 0.5 and it's giving us a
little bit more detail to our carpet
okay and then after that I think we're
gonna move on to lighting so lighting in
HDR P uses what's called physical light
units and these units are basically
based off real-world measurable values
similar to what you would see if you
were browsing through a store like
shopping for a light bulb for example so
for our directional lights our Sun we're
going to be using a intensity value code
Lux and Lux well the reason why we use
Lux is because that's what we use to
measure sunlight in real life and the
same applies for our smaller lights like
our point lights and our line lights
which used Lux
and I wish use lumens and Candela and
the reason why we're using all these
these intensity values is because I can
easily go online and find out okay
what's the typical Lux value for an
overcast day and I'm gonna get the same
output in unity so if you're a
manufacturer if you're a working on
design visualizations for example and
you wanted to make sure that a bulb was
exactly what the manufacturer wants you
ask them for a Lux value and then you
can add what's called a cookie or a cue
colorist and think about like a texture
that masks out particularly light and
depending on whether it's white or dark
and then you'll be able to get some
character to your to your light which
will basically mimic what those
manufacturing bulbs might look like so
I'm going to increase my gizmos ever so
slightly and if I click on my lights we
can see now the light inspectors ever so
slightly changed as well this time we've
actually got a temperature gauge
so we're ranging it from zero to twenty
thousand kelvins so the the redder the
work the call of the lights the redder
it is and then the hotter the light the
bluer is so we're able to accurately
determine it through temperature and
then of course here you can see if i
zoom in you have we have lumens so we've
got ours currently set to twenty
thousand lumens and so we know that a
twenty thousand lumen bulb will look
exactly the same in unity as it would in
real life and then of course down here
we have our little cookie and the cookie
like I said it's just a texture you can
find them online quite easily and
they're pretty good to add to some
lights if you want a little bit of
character and then finally we can go
into our reflections so here we have a
reflection probe does anyone know what
this does in my scene yes sir yeah
exactly so the gentleman said reflecting
the surroundings so this orb that we're
looking at here is basically sampling
our light or sampling the geometry
around it as you can see in the
reflection and that's these reflections
are basically going to be applied to any
object that has a specular or metallic
value as you can see on the kitchen
behind you can see that it's reflecting
on our window if I were to completely
remove my reflection probe those are
those reflections that aren't accurate
they're just not you know we're getting
a little bit but it's not as nice and if
I were to remove all of my Flex
completely you can see that like our
entire scene is completely planned but
if I were to go into my material for
example and I were to set the metallic
miss
to zero you'll notice that the color is
exactly the same and that's because
we're applying parameters such as
metallic honest and all that so and yeah
reflection problems are very very
important when wanting to create an
accurate scene however in HD RP we've
added another one and this is called a
planar reflection probes so instead of
sampling in a sphere so a 360 or a
planar reflection probe simply samples
from one direction and we can see that
on the floor here so down here if I can
grab it where is it
it's up here let's type in reflection
here we go
so this is our plane our reflection
probe so if I were to completely remove
it you'll notice that the floor is not
looking as good anymore if we were to go
over to this section come over here if I
turn it on and off we're losing a lot of
that like that you know that visual
fidelity by not having the plane our
reflection probe and so they're very
very useful to have if you're wanting to
have a like a full-on flat surface and
you want it to be slightly reflective
and I'll finally I need to rush this bit
and finally I'm going to create a
refractive glass material and this is
going to allow you to basically warp
light or refract it and real time so if
I would choose this panel back here I'm
going to select the shader and I'm just
going to create a new one so this is
just a blank shader that I'm just going
to drag onto my object and then we're
gonna start from scratch so I'm not
joking it's like two minutes worth of
work is so easy so the first thing I
need to do is determine my surface type
and either have opaque or transparent
now this is super super important for
transparent objects because if you try
to set the outfit down to zero with your
surface type set to opaque you're still
not going to see through it because
we're determining the surface of the
object so if I'm making a glass material
we're gonna go transparent I'm gonna
activate some displacement mode just to
add a little bit of detail and then I'm
gonna work my way down to my inputs and
I'm simply discriminative turn my alpha
all the way down next I'm going to add a
I'm gonna add a normal map oops I can
add a normal map and I'm gonna put up to
something like 6 or something I'm gonna
add my mask map and then I'm finally
going to add to my height map again
we're determent we're going to be
deforming these pixels and before I do
that I just want to set the tiling to
something a little bit more reasonable
so let's say 2.5 and then what I'm gonna
do is I'm just going to turn up the
amplitude ever so slightly and then
because we've set our surface type to
transparent we have a little a couple of
additional parameters down the bottom
called transparency inputs and this is
where we can start to determine our
fraction mode or some fraction model
sorry
so if we select plain nothing much
happens just yet and then if I were to
start to warp it you'll notice that my
glass is now starting to look a little
bit nicer so again this is incredibly
hard to achieve let alone you know as an
image let alone real time and me just
changing sliders you know on the go so
I'm gonna change my thickness down cuz
my panel I don't really think is that
thick and I'm just going to turn my
refraction down a little bit and you can
see it's actually warping the background
so the lights going through the glass is
bending and then coming to the camera so
that's pretty much how easy it is to
create realistic glass in haste GRP and
I'm pretty much so this is a very very
brief overview I don't know if any of
you attended the 45 minute version which
was kind of earlier this morning and I
have a couple of blog post and a couple
of videos and as well as a webinar which
can go over everything like I covered I
lit in a little bit more detail if
you're interested in finding out more
and the London demo also is available
for you to download you can download the
build not the project and you can have a
little play around and see what we've
done with it and just kind of show you
on a final thought before I jump back to
slides we can have a little walk around
and actually experience what we've just
done so you can see here that I now have
my glass that I've just made and we have
our carpet we have our lights and again
the whole London demo is fully
interactive so we can kind of walk up to
surfaces and start to play videos on our
TV and that's just a simple unity
component where I've dragged in there
before into it and now we can look at
some awesome unity content and then
finally we've also added like a
configurator as well so we can kind of
cycle through some different materials
on the other the wood so this is very
much for a design visualization but yeah
I think that's pretty much me done I'm
gonna jump back to my powerpoint real
quick or if I can get to it
so it is no information if you want to
find out more about the HDR P then
please follow some of these links at the
top is my blog post this is a getting
started guide for artists so I'm not
segregating programmers that's not what
I'm doing I'm just making a very general
so everyone can kind of understand and
because sometimes the pipeline can be
intimidating so I wanted to kind of make
it easier for everyone to understand it
with me and then of course we have the
YouTube the three-part YouTube video
equivalent of the blog post the FPS
sample projects you may have seen that
dotted around that's using HT rp2 as
well as The Heretic and our previous
cinematic The Book of the Dead which you
can get from the asset store for free
right now and you can also download the
FPS sample project from github right now
and that's putting more into a game
context rather than a visualization
finally unity learn premium we're
actually doing a little special offer
for our premium service of unity learn
and for everyone that's you you're not
Copenhagen right now you can get a three
month free trial by using the code at
the bottom and you're going to gain
access to non gaming content and at a
beginner to intermediate level when
wanting to work with visualizations like
this whether that's working with virtual
reality augmented reality as well as
some industrial atm
as well as some on AC so architecture
and consider a engineering construction
content available for you to download
and have a try so after all that well
thank you so much if we have any
questions I think I have like five
minutes or something and we're gonna go
with that hello sir
yep
yep agreed so I think I think I'm gonna
try briefly heard you're gonna talk with
that so you run about the range of a
light right right
it doesn't change in from a hasty rp2
built in with the standard the ranges is
simply how far that light is gonna reach
before it starts to slowly fall off and
then it won't be there so the range you
pretty much have to balance with your
intensity in your cookies and but the
range is not influenced the range
doesn't have a value I hear like a
lumens or anything like that that's just
anything that you have to figure out of
course you wouldn't want to lights
overlapping on the same ranges because
that may cost jewels jewels shadows so
it's just kind of about balancing it
yeah come see me afterwards we'll have a
little bit more chat about it it's
alright perfect oh yeah hello nice to
meet you yep that's correct
yes yes yeah that's a good one yeah
come see me afterwards after this and
we'll discuss it more cuz we have a
booth over there which goes through the
London demo and we'll find out some more
information for you alright perfect so
gentlemen was basically asking about the
range and intensity of lights and
whether that'll be physically accurate
effected by the range and all of that
and if there are no more questions and
you can oh one more question how many
licensed I could show you so if we were
to go to really quickly and so if I were
to exit out do you know about the
lighting probe debug in there in there
okay and so real quickly I have two
minutes if you were to go to rendering
lighting settings and you were to go
right down to the bottom to debug
settings light probe visualization we
can actually start to display wait for
our light probes and so it's basically
occluding and we can see what light is
being sampled by our light probes so you
want a finishing point about lighting
and light probes because light probes
are a way of being able to mimic global
illumination on non static objects this
hence why we have more light probes
around the door than anywhere else
because that doors moving that was not
static so it won't have global
illumination calculated on it so we have
to sample it using the light probes and
then share it with that mesh when that
door opens our voice is gonna you know
in cartoons where like you know that
something's gonna animate when it looks
like slightly off is exactly what it
will look like so this pretty much fixes
that problem but yeah I've reason about
a reasonable amount of light probes more
on non-static objects does that resent
perfect yes so you were to create CS to
create a light probe you go to down here
and then you can see a light probe group
and then you would just duplicate them
across it then samples the so when you
generate your lighting those light
probes absorb information and data and
then share that with any objects that
are non-static and have a mesh renderer
does that make sense and if you want to
see me afterwards for more information
please do other than that I'm gonna
leave it there yep perfect
thank you so much
[Music]